{\fad(200,200)}翻译/压制/字幕制作:HAF半个水果
{\fad(200,200)\pos(1940.893,388.557)}使用AI工具翻译,如有不准确的地方请在弹幕或评论区指正,谢谢!
{\fad(200,200)\pos(1940.893,388.557)}翻译质量权威评价:原来25年就有小拉即用机翻糊弄人了
Hello everybody. So in this video I'll show you how I ran Linux on Microsoft Excel.
Microsoft Excel is a very powerful suit and you can do lots of things in it.
Software engineering students despise it
because universities hate their software engineering students
and force them to do Excel assignments.
and this project is just an excuse for me to make a funny video.
and he tweeted about it. I got pretty excited
and he then published the source code.
only printing the output.
And I thought it'd make a pretty lame video.
I don't want to take long. So
And then I'll explain how it works.
It's not an ordinary spreadsheet
It's a spreadsheet full of macros.
I can smell your fear. Don't worry
These times are long over
Though you should probably keep an eye out just in case.
this is Linux running in Microsoft Excel.
Unbelievable. Let me make this a little
more viewable by scaling the interface up.
There we go. If the screen overflows
{\fs81}so this is the reason there isn't all that extra boot information at the beginning we used to have when it wasn't scaled up.
The rules are simple. There are no rules. It's Linux.
But where do you run the Linux commands? Good question.
I reserved the C2 cell specifically for the terminal input.
That's where you run them.
You can do all the terminal basics in that powershell.
run the directory listing
The only critical mistake you can make is entering the insert mode in Vim.
but there is so far no way to input that in the cell.
but I didn't bother to implement that.
It's a simple switch case statement in the handler function.
even though I kind of failed to do that
There are lots of things you can do
{\fs104}but from here on out
essentially converting input from an Excel cell to the Linux std in.
Not a fan of tedious work.
{\fs104}I guess the coolest tedious thing you can implement is the ASI escape sequences support
so that you could beautify the output.
If you do want to implement Linux in pure Excel formulas
{\fs104}But be my guest. In reality
via the VBA macro. Excel here basically acts as the IO interface.
The library we're using is mini RV32
which is the tiniest risk V emulator that fits inside a C header.
{\fs100}I don't really want to go in depth into the technicalities neither of the VBA macro nor the library.
I'll try to explain in simple terms.
And each tick there is an event loop that's running.
you get to send input into the emulator and receive output from it.
The VBA macro runs 2 to the power of 17 ticks in the emulator at the very beginning
and every time input is received.
I just picked that number because I think number 17 is cool.
And it was somewhat the golden middle between the macro freezing Excel entirely
{\fs98}and having enough time for theemulator to run an average command and return the output from it.
So that's how the VBA script works essentially
the library is a little more tricky to explain in simple terms
but the event loop is located in it
and the CSR read and write functions are invoked every tick.
{\fs104}So we get to process input and send the output with the functions exported from the DLL.
They're then imported and used accordingly in the VBA script.
It's just an orchestra really.
{\fs95}That's one of the more weird and satisfying projects I have worked on since the start of my channel.
I can't thank NSG650 enough for sharing the initial source code.
This wouldn't have been possible without him.
He's a cool guy. Check him out.
{\fs80}I'm going to leave both the source code and the compiled library along with a micro sheet in the description below
so you can try it out for yourself.
Tweet the coolest stuff you can execute in that spreadsheet at me
I'm Andderman on Twitter.
I'll retweet the craziest stuff you guys execute.
{\fs104}I believe collectively you can do much more than me in such a stripped down Linux version.
And I'm sorry if my voice is kind of annoying right now.
I'm currently sick and my nose is stuffed.
I'm trying my best to voice things over right now.
Thanks for watching and take care.
大家好。在这个视频中,我将向大家展示如何在Microsoft Excel上运行Linux
Microsoft Excel是一款功能非常强大的软件,你可以在其中完成许多任务
但不管怎样,爱好者们在Excel里总能玩出各种疯狂的花样
他还在推特上发了相关内容。我对此感到非常兴奋,于是联系了他
最终,我决定插手帮忙,算是替他完成了这个项目,还让它具备了互动性
好的。那么,运行它很简单。只需打开Excel电子表格即可
这不是一份普通的电子表格,从文件名你大概就能看出来
这是在Microsoft Excel中运行的Linux
你可以在那个PowerShell中完成所有终端基础操作
我是说,从技术上讲,你可以创建映射到特殊键的魔法序列
这是处理函数中的一个简单switch case语句
但从现在开始,就只剩下实现各种魔法序列的繁琐工作了
本质上将Excel单元格的输入转换为Linux的标准输入
不管怎样,就说我试图运行devil fetch吧,尽管这是个bash脚本而这里根本没有bash环境
我猜你能实现的最酷又繁琐的功能就是支持ASI转义序列
没错,这就是在Microsoft Excel里运行的Linux
嗯,你可以认为这是作弊,因为它并不是在原生Excel公式中运行的Linux
该库通过VBA宏加载到Excel中。这里的Excel基本上充当了输入输出接口的角色
我既不想深入探讨VBA宏的技术细节,也不想讨论这个库的技术问题
基本上,模拟器允许你通过一个函数逐步执行每个时钟周期
VBA宏在模拟器中最初运行时以及每次接收到输入时,会运行2的17次方个时钟周期
VBA宏在模拟器中最初运行时以及每次接收到输入时,会运行2的17次方个时钟周期
这大致是在宏完全冻结Excel与给予模拟器足够时间
因此我们可以处理输入并通过从DLL导出的函数发送输出
这是我频道创立以来做过的最古怪又最令人满足的项目之一
我将在下面的描述中同时提供源代码、编译好的库以及一份简要说明
我相信在这个精简版的Linux系统中,你们集体能做的远比我一个人多
{\fad(200,200)\pos(1976.893,326.557)}原标题:Running Linux in Microsoft Excel 原作者:Enderman
{\fad(200,200)\pos(1976.893,326.557)}原视频上传日期:2025年4月30日
{\fad(0,200)\fscx233\fscy244\pos(1954.49,808.69)}在 Youtube 上关注
{\fad(200,200)\pos(1948,1176)}翻译/压制/字幕制作:HAF半个水果
{\fad(200,200)\pos(1916,1320)}翻译质量权威评价:原来25年就有小拉即用机翻糊弄人了\N
\N
向所有字幕制作及相关人员道一声辛苦了 (*ˊᗜˋ*)/ᵗᑋᵃᐢᵏ ᵞᵒᵘ*\N
感谢字幕组的默默耕耘,你们的每一行字都能让更多人能够跨越语言障碍,享受精彩的内容
{\fad(200,200)\pos(1959.333,1182)}字幕制作不易,喜欢的话支持一下我吧!